home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / etc / acpi / sleep.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  2008-10-14  |  2KB  |  65 lines

  1. #!/bin/bash
  2. # TODO:  Change above to /bin/sh
  3.  
  4. # This script HANDLES the sleep button (does not TRANSLATE it). It is part
  5. # of the *suspend* side of acpi-support, not the special keys translation
  6. # side. If this script is called, it is assumed to be the result of a suspend
  7. # key press that can also be heard by other parts of the system. The only time
  8. # that it actually does something is when it is determined that no other parts
  9. # of the system are listening (this is what the CheckPolicy call does).
  10.  
  11. test -f /usr/share/acpi-support/key-constants || exit 0
  12.  
  13. . /etc/default/acpi-support
  14. . /usr/share/acpi-support/power-funcs
  15. . /usr/share/acpi-support/device-funcs
  16. . /usr/share/acpi-support/policy-funcs
  17.  
  18. DeviceConfig;
  19.  
  20. if [ x$ACPI_SLEEP != xtrue ] && [ x$1 != xforce ]; then
  21.   exit;
  22. fi
  23.  
  24. # If gnome-power-manager or klaptopdaemon are running, let them handle policy
  25. if [ x$1 != xforce ] && [ x$1 != xsleep ] && [ `CheckPolicy` = 0 ]; then
  26.     exit;
  27. fi
  28.  
  29. if [ x$LOCK_SCREEN = xtrue ]; then
  30.     if pidof xscreensaver > /dev/null; then
  31.     for x in /tmp/.X11-unix/*; do
  32.         displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
  33.         getXuser;
  34.         if [ x"$XAUTHORITY" != x"" ]; then
  35.         export DISPLAY=":$displaynum"
  36.         . /usr/share/acpi-support/screenblank
  37.         fi
  38.     done
  39.     fi
  40. fi
  41.  
  42. # Generic preparation code
  43. . /etc/acpi/prepare.sh
  44.  
  45. if [ x$DISABLE_DMA = xtrue ] && [ -b /dev/hda ]; then
  46.   hdparm -d 0 /dev/hda
  47. fi
  48.  
  49. echo -n $ACPI_SLEEP_MODE >/sys/power/state
  50.  
  51. if [ x$RESET_DRIVE = xtrue ] && [ -b /dev/hda ]; then
  52.     hdparm -w /dev/hda
  53.     hdparm -C /dev/hda
  54.     hdparm -C /dev/hda
  55.     hdparm -C /dev/hda
  56.     hdparm -d 1 /dev/hda
  57. fi
  58.  
  59. if [ x$DISABLE_DMA = xtrue ] && [ -b /dev/hda ]; then
  60.   hdparm -d 1 /dev/hda
  61. fi
  62.  
  63. # Generic wakeup code
  64. . /etc/acpi/resume.sh
  65.